package prueba;

import javax.swing.DefaultListModel;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;

/**
 * Dda la clase persona con los siguientes atributos: nombre (cadena),
 * apellido(cadena) edad(entero), Fecha nacimiento(cadena) a) permitir el
 * ingreso de n personas en una estructura de datos matriz b) permitir
 * seleccionar el atributo por el que se va a ordenar y presentar la lista
 * ordenada c) presentar la persona con mayor y menor edad d) ver la fecha
 * proxima a cumplir años e) obtener la media de las edades
 *
 * @author D4y4
 */
//ctrl+shif+tecla abajo=copia la linea en donde se encuentra el mouse :3
//ctrl+s= guardar
//ctrl+f=buscar palabritas dentro del proyecto :3
//ctrl+g=busca una linea (numero de linea)
//CTRL+Q=regresa a la ultima linea que estuve :3
public class principal extends javax.swing.JFrame {

    int numeroPersonas;
    DefaultTableModel tabla;
    String[][] matrizC;
    int[][] matriz;
    int[] vectorColumnas;
    DefaultListModel modeloLista = new DefaultListModel();

    public principal() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jtxtNumeroPersonas = new javax.swing.JTextField();
        jButton1 = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jtablaInformacion = new javax.swing.JTable();
        jbtnEdad = new javax.swing.JButton();
        jbtnLeerDtosTabla = new javax.swing.JButton();
        jScrollPane8 = new javax.swing.JScrollPane();
        listReport = new javax.swing.JList();
        jScrollPane9 = new javax.swing.JScrollPane();
        listReport1 = new javax.swing.JList();
        jScrollPane10 = new javax.swing.JScrollPane();
        listReport2 = new javax.swing.JList();
        jScrollPane11 = new javax.swing.JScrollPane();
        listReport3 = new javax.swing.JList();
        jScrollPane3 = new javax.swing.JScrollPane();
        lstApellidos = new javax.swing.JList();
        jButton3 = new javax.swing.JButton();
        jtxtmedia = new javax.swing.JTextField();
        jButton2 = new javax.swing.JButton();
        jScrollPane2 = new javax.swing.JScrollPane();
        jtxtArea = new javax.swing.JTextArea();
        cmbInfo = new javax.swing.JComboBox();
        jrbtnNo = new javax.swing.JRadioButton();
        jScrollPane4 = new javax.swing.JScrollPane();
        lstNombres1 = new javax.swing.JList();
        jrbtnSi1 = new javax.swing.JRadioButton();
        jScrollPane5 = new javax.swing.JScrollPane();
        txtDayana = new javax.swing.JTextPane();
        jLabel2 = new javax.swing.JLabel();
        btnMostrarInfo = new javax.swing.JButton();
        jLabel3 = new javax.swing.JLabel();
        jScrollPane6 = new javax.swing.JScrollPane();
        txtFecha = new javax.swing.JTextPane();
        btnFecha = new javax.swing.JButton();
        btnColumna1 = new javax.swing.JButton();
        jScrollPane7 = new javax.swing.JScrollPane();
        txtColumna1 = new javax.swing.JTextPane();
        jLabel4 = new javax.swing.JLabel();
        btnSiNo = new javax.swing.JButton();
        cmblista = new javax.swing.JComboBox();
        btnllenarComboBox = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jLabel1.setText("Numero de personas");
        getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 14, -1, -1));
        getContentPane().add(jtxtNumeroPersonas, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 10, 58, -1));

        jButton1.setText("leer numero de personas");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        getContentPane().add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 10, -1, -1));

        jtablaInformacion.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "NOMBRE", "APELLIDO", "EDAD", "FECHA DE NACIMIETO"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class, java.lang.Integer.class, java.lang.String.class
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }
        });
        jScrollPane1.setViewportView(jtablaInformacion);

        getContentPane().add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 40, 430, 240));

        jbtnEdad.setText("Coger las edades");
        jbtnEdad.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbtnEdadActionPerformed(evt);
            }
        });
        getContentPane().add(jbtnEdad, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 340, -1, -1));

        jbtnLeerDtosTabla.setText("Leer los datos de la tabla");
        jbtnLeerDtosTabla.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbtnLeerDtosTablaActionPerformed(evt);
            }
        });
        getContentPane().add(jbtnLeerDtosTabla, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 300, -1, -1));

        listReport.setModel(new javax.swing.AbstractListModel() {
            String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });
        jScrollPane8.setViewportView(listReport);

        getContentPane().add(jScrollPane8, new org.netbeans.lib.awtextra.AbsoluteConstraints(361, 516, 498, 353));

        listReport1.setModel(new javax.swing.AbstractListModel() {
            String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });
        jScrollPane9.setViewportView(listReport1);

        getContentPane().add(jScrollPane9, new org.netbeans.lib.awtextra.AbsoluteConstraints(361, 516, 498, 353));

        listReport2.setModel(new javax.swing.AbstractListModel() {
            String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });
        jScrollPane10.setViewportView(listReport2);

        getContentPane().add(jScrollPane10, new org.netbeans.lib.awtextra.AbsoluteConstraints(361, 516, 498, 353));

        listReport3.setModel(new javax.swing.AbstractListModel() {
            String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });
        jScrollPane11.setViewportView(listReport3);

        getContentPane().add(jScrollPane11, new org.netbeans.lib.awtextra.AbsoluteConstraints(361, 516, 498, 353));

        jScrollPane3.setViewportView(lstApellidos);

        getContentPane().add(jScrollPane3, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 360, 120, 130));

        jButton3.setText("Media de las edades");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });
        getContentPane().add(jButton3, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 370, -1, -1));
        getContentPane().add(jtxtmedia, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 370, 50, -1));

        jButton2.setText("Ordenar los nombres ascendentemente");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });
        getContentPane().add(jButton2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 400, 210, 50));

        jtxtArea.setColumns(20);
        jtxtArea.setRows(5);
        jScrollPane2.setViewportView(jtxtArea);

        getContentPane().add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(730, 360, 190, 130));

        cmbInfo.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cmbInfoItemStateChanged(evt);
            }
        });
        getContentPane().add(cmbInfo, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 190, 110, 30));

        jrbtnNo.setText("No");
        getContentPane().add(jrbtnNo, new org.netbeans.lib.awtextra.AbsoluteConstraints(600, 330, -1, -1));

        jScrollPane4.setViewportView(lstNombres1);

        getContentPane().add(jScrollPane4, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 360, 120, 130));

        jrbtnSi1.setText("Si");
        getContentPane().add(jrbtnSi1, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 330, -1, -1));

        jScrollPane5.setViewportView(txtDayana);

        getContentPane().add(jScrollPane5, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 160, 60, -1));

        jLabel2.setText("Nombre de la columna");
        getContentPane().add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(530, 160, -1, -1));

        btnMostrarInfo.setText("Mostrar Info");
        btnMostrarInfo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnMostrarInfoActionPerformed(evt);
            }
        });
        getContentPane().add(btnMostrarInfo, new org.netbeans.lib.awtextra.AbsoluteConstraints(710, 160, -1, -1));

        jLabel3.setText("Fecha");
        getContentPane().add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 30, -1, -1));

        jScrollPane6.setViewportView(txtFecha);

        getContentPane().add(jScrollPane6, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 20, 60, -1));

        btnFecha.setText("Mostrar Fecha");
        getContentPane().add(btnFecha, new org.netbeans.lib.awtextra.AbsoluteConstraints(700, 20, -1, -1));

        btnColumna1.setText("Mostrar Columna");
        getContentPane().add(btnColumna1, new org.netbeans.lib.awtextra.AbsoluteConstraints(700, 50, -1, -1));

        jScrollPane7.setViewportView(txtColumna1);

        getContentPane().add(jScrollPane7, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 50, 60, -1));

        jLabel4.setText("Columna");
        getContentPane().add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 50, -1, -1));

        btnSiNo.setText("Mostrar");
        btnSiNo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSiNoActionPerformed(evt);
            }
        });
        getContentPane().add(btnSiNo, new org.netbeans.lib.awtextra.AbsoluteConstraints(530, 310, -1, -1));

        cmblista.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cmblistaItemStateChanged(evt);
            }
        });
        getContentPane().add(cmblista, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 110, 60, -1));

        btnllenarComboBox.setText("jButton4");
        btnllenarComboBox.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnllenarComboBoxActionPerformed(evt);
            }
        });
        getContentPane().add(btnllenarComboBox, new org.netbeans.lib.awtextra.AbsoluteConstraints(710, 110, -1, -1));

        jButton4.setText("jButton4");
        jButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton4ActionPerformed(evt);
            }
        });
        getContentPane().add(jButton4, new org.netbeans.lib.awtextra.AbsoluteConstraints(710, 80, -1, -1));

        pack();
    }// </editor-fold>//GEN-END:initComponents
//LEER EL VALOR QUE SE INGRESA EN UN TXT
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        try {
            numeroPersonas = Integer.parseInt(jtxtNumeroPersonas.getText());
            tabla = (DefaultTableModel) jtablaInformacion.getModel(); //modificar la tabla 
            tabla.setNumRows(numeroPersonas);
        } catch (Exception x) {
            {
                JOptionPane.showMessageDialog(null, "ERROR");
            }
        }
    }//GEN-LAST:event_jButton1ActionPerformed
//PERMITE COGER LA COLUMNA DE LAS EDADES
    private void jbtnEdadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnEdadActionPerformed
        try {
            int fila = numeroPersonas;
            int columna = 2;
            vectorColumnas = new int[fila];
            String resultado = "";
            int sumtoriaTotal = 0;
            for (int i = 0; i < fila; i++) {
                vectorColumnas[i] = Integer.parseInt(String.valueOf(matrizC[i][columna]));
                int datoPosicionMatriz = vectorColumnas[i];
                sumtoriaTotal = datoPosicionMatriz + sumtoriaTotal;
                resultado += " " + vectorColumnas[i] + "   ";
            }
            listReport.setModel(modeloLista);
            modeloLista.addElement("columna edades\n" + resultado + "   Sumatoria:" + sumtoriaTotal);
        } catch (Exception x) {
            {
                JOptionPane.showMessageDialog(null, "ERROR");
            }
        }
    }//GEN-LAST:event_jbtnEdadActionPerformed
//LEE LOS DATOS QUE SE INGRESAN EN LA TABLA
    private void jbtnLeerDtosTablaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnLeerDtosTablaActionPerformed
        try {
            TableModel tableModel = jtablaInformacion.getModel();
            int fila = tableModel.getRowCount();
            int columna = tableModel.getColumnCount();
            matrizC = new String[numeroPersonas][columna];
            String numeroEntrada;
            for (int i = 0; i < fila; i++) {
                for (int j = 0; j < columna; j++) {

                    numeroEntrada = tableModel.getValueAt(i, j).toString();
                    matrizC[i][j] = numeroEntrada;
                }
            }
        } catch (Exception x) {
            {
                JOptionPane.showMessageDialog(null, "ERROR");
            }
        }

    }//GEN-LAST:event_jbtnLeerDtosTablaActionPerformed
//OBTENER LA MEDIA DE LAS EDADES (usando el vector obtenido anteriormente)
    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
        try {
            metodos objMediaEdad = new metodos();
            int sumaEdades = objMediaEdad.sumatoriEdad(matrizC);
            double media = sumaEdades / matrizC.length;
            jtxtmedia.setText(String.valueOf(media));
        } catch (Exception x) {
            {
                JOptionPane.showMessageDialog(null, "ERROR");
            }
        }
    }//GEN-LAST:event_jButton3ActionPerformed
    //ORDENA LOS NOMBRES EN FORMA ASCENDENTE
    String arregloNombres[];
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
        try {
            String resultado = "";
            int sumtoriaTotal = 0;
            int columnaNombres = 0;
            metodos objMediaEdad = new metodos();
            arregloNombres = new String[matrizC.length];
            for (int i = 0; i < matrizC.length; i++) {
                arregloNombres[i] = matrizC[i][columnaNombres];
            }
            arregloNombres = objMediaEdad.NombresOrdenados(arregloNombres);
            //cojer en una variable los nombres para mostrar n textare
            //nombres
            String nombresOrdenadosTodos = "";
            for (int i = 0; i < arregloNombres.length; i++) {
                nombresOrdenadosTodos += arregloNombres[i] + "  ";
            }
            jtxtArea.setText(nombresOrdenadosTodos);
        } catch (Exception x) {
            {
                JOptionPane.showMessageDialog(null, "ERROR");
            }
        }
    }//GEN-LAST:event_jButton2ActionPerformed
    /**
     * CODIGO MIGUEL
     */

//    Obtener los datos de la tabla y asignar en una matriz
    String[][] matrizInfodeTabla;
    public String[][] obtenerDatosTabla(TableModel tableModel) {
//        ASIGNAMOS LA INFORMACION COMPLETA DL OBJETO TABLA
        int fila = tableModel.getRowCount();
        int columna = tableModel.getColumnCount();
        matrizInfodeTabla = new String[fila][columna];
        String datoTabla;
        for (int i = 0; i < fila; i++) {
            for (int j = 0; j < columna; j++) {
                datoTabla = tableModel.getValueAt(i, j).toString(); //Obtiene la informacion de cada celda
                matrizInfodeTabla[i][j] = datoTabla;
            }
        }
        return matrizInfodeTabla;
    }
     //DEVUELVE LA INFORMACION DE LA COLUMNA QUE SE HA ESCOGIDO (0,1,2....) EN UN ARREGLO DE TIPO STRING
    public String[] obtenerColumnaX(int col, int f, String matrizInfodeTabla[][]) {
        String[] infoColX = new String[f];
        String datoTabla;
        for (int i = 0; i < f; i++) {
            datoTabla = matrizInfodeTabla[i][col]; //Obtiene la informacion de cada celda
            infoColX[i] = datoTabla;
        }
        return infoColX;
    }
//    Agrega datos a un combo box mediante un arreglo
    //VERSION ANTIGUITA XD
    public void llenarComboboxAtravesdeUnArregloString(String arregloDatos[]) {
        String datoArreglo;
        for (int i = 0; i < arregloDatos.length; i++) {
            datoArreglo = arregloDatos[i]; //Obtiene la informacion de cada celda
            cmbInfo.addItem(datoArreglo);
        }
    }
    //LLENAR CUALQUIER COMBO BOX QUE RECIBE COMO PARAMETRO UN VECTOR Y EL NOMBRE DEL COMBO BOX
    //VERSION NUEVA :3
    public void llenarComboboxX(String arregloDatos[], JComboBox comboBoxX) {
        String datoArreglo;
        for (int i = 0; i < arregloDatos.length; i++) {
            datoArreglo = arregloDatos[i]; //Obtiene la informacion de cada celda
            comboBoxX.addItem(datoArreglo);
        }
    }

    private void btnMostrarInfoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnMostrarInfoActionPerformed
        TableModel tableModel = jtablaInformacion.getModel();
        if (tableModel.getRowCount() > 0) {
            matrizInfodeTabla = obtenerDatosTabla(tableModel);
            String nombreColumna = txtDayana.getText();
            String infoDatosColx[];
            cmbInfo.removeAllItems();
            int col;
            if (nombreColumna.equals("NOMBRE")) {
                col = 0;
                infoDatosColx = obtenerColumnaX(col, tableModel.getRowCount(), matrizInfodeTabla);
                llenarComboboxAtravesdeUnArregloString(infoDatosColx);
            }
            if (nombreColumna.equals("APELLIDO")) {
                col = 1;
                infoDatosColx = obtenerColumnaX(col, tableModel.getRowCount(), matrizInfodeTabla);
                llenarComboboxAtravesdeUnArregloString(infoDatosColx);
            }
            if (nombreColumna.equals("EDAD")) {
                col = 2;
                infoDatosColx = obtenerColumnaX(col, tableModel.getRowCount(), matrizInfodeTabla);
                llenarComboboxAtravesdeUnArregloString(infoDatosColx);
            }
            if (nombreColumna.equals("FECHA DE NACIMIENTO")) {
                col = 3;
                infoDatosColx = obtenerColumnaX(col, tableModel.getRowCount(), matrizInfodeTabla);
                llenarComboboxAtravesdeUnArregloString(infoDatosColx);
            }
        } else {
            JOptionPane.showMessageDialog(null, "NO HAY NADA BABOSO XD");
        }


    }//GEN-LAST:event_btnMostrarInfoActionPerformed

    private void btnSiNoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSiNoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_btnSiNoActionPerformed

    //CREA LOS ITEMS PARA UN COMBOBOX 
    private void btnllenarComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnllenarComboBoxActionPerformed

        String nombresColumnas[] = new String[4];
        nombresColumnas[0] = "NOMBRE";
        nombresColumnas[1] = "APELLIDO";
        nombresColumnas[2] = "EDAD";
        nombresColumnas[3] = "FECHA DE NACIMIENTO";
        llenarComboboxX(nombresColumnas, cmblista);

    }//GEN-LAST:event_btnllenarComboBoxActionPerformed

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
        // TODO add your handling code here:

    }//GEN-LAST:event_jButton4ActionPerformed
    String datoComboSeleccionado;
    private void cmbInfoItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cmbInfoItemStateChanged

    }//GEN-LAST:event_cmbInfoItemStateChanged

    private void cmblistaItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cmblistaItemStateChanged
        datoComboSeleccionado = evt.getItem().toString();
        JOptionPane.showMessageDialog(null, datoComboSeleccionado);
    }//GEN-LAST:event_cmblistaItemStateChanged

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(principal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(principal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(principal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(principal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new principal().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnColumna1;
    private javax.swing.JButton btnFecha;
    private javax.swing.JButton btnMostrarInfo;
    private javax.swing.JButton btnSiNo;
    private javax.swing.JButton btnllenarComboBox;
    private javax.swing.JComboBox cmbInfo;
    private javax.swing.JComboBox cmblista;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane10;
    private javax.swing.JScrollPane jScrollPane11;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JScrollPane jScrollPane6;
    private javax.swing.JScrollPane jScrollPane7;
    private javax.swing.JScrollPane jScrollPane8;
    private javax.swing.JScrollPane jScrollPane9;
    private javax.swing.JButton jbtnEdad;
    private javax.swing.JButton jbtnLeerDtosTabla;
    private javax.swing.JRadioButton jrbtnNo;
    private javax.swing.JRadioButton jrbtnSi1;
    private javax.swing.JTable jtablaInformacion;
    private javax.swing.JTextArea jtxtArea;
    private javax.swing.JTextField jtxtNumeroPersonas;
    private javax.swing.JTextField jtxtmedia;
    private javax.swing.JList listReport;
    private javax.swing.JList listReport1;
    private javax.swing.JList listReport2;
    private javax.swing.JList listReport3;
    private javax.swing.JList lstApellidos;
    private javax.swing.JList lstNombres1;
    private javax.swing.JTextPane txtColumna1;
    private javax.swing.JTextPane txtDayana;
    private javax.swing.JTextPane txtFecha;
    // End of variables declaration//GEN-END:variables
}
